//main.js  这是项目的入口文件

import Vue from 'vue'
// 导入app根组件
import App from './App.vue'
import router from './router'
import './plugins/element.js'
// 导入全局样式
import './assets/css/global.css'
//导入字体图标库
import './assets/fonts/iconfont.css'

// 导入
import TreeTable from 'vue-table-with-tree-grid'

// 导入axios
import axios from 'axios'

// 设置axios 请求拦截器
// 请求在到达服务器之前，先会调用use中这个回调函数来添加请求头信息
axios.interceptors.request.use(config => {
    //为请求头对象，添加token验证的Authorization字段
    // console.log(window.sessionStorage.getItem("token"));
    config.headers.Authorization = window.sessionStorage.getItem("token")
        // 在最后必须 return config （固定写法）
    return config
})


// 设置请求根路径      配置基准路径
// 这个根路径只跟后端数据来源接口有关
// 与index.js文件的定义的路由接口无关  如：/login   /home
axios.defaults.baseURL = "http://127.0.0.1:8888/api/private/v1"
    // axios挂载到vue原型上  ($http是自定义名)
Vue.prototype.$http = axios;

Vue.config.productionTip = false

Vue.component('tree-table', TreeTable)

// 定义全局的时间过滤器
Vue.filter('dateFormat', function(originVal) {
    const dt = new Date(originVal)
    const y = dt.getFullYear()
    const m = (dt.getMonth() + 1 + '').padStart(2, '0')
    const d = (dt.getDate() + '').padStart(2, '0')
    const hh = (dt.getHours() + '').padStart(2, '0')
    const mm = (dt.getMinutes() + '').padStart(2, '0')
    const ss = (dt.getSeconds() + '').padStart(2, '0')
    return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})


new Vue({
    // 把路由挂载到实例上
    router,
    // 通过render函数把app组件渲染到页面上
    render: h => h(App)
}).$mount('#app')